package cn.com.blueInfo.bpm.person.entity;

import cn.com.blueInfo.bpm.common.entity.BaseEntity;
import cn.com.blueInfo.bpm.person.enums.GroupInfoAsync;
import cn.com.blueInfo.bpm.person.enums.GroupInfoFormula;
import cn.com.blueInfo.bpm.person.enums.GroupInfoGroupType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 群组信息表
 * @author suxch
 * @since 2025-08-24 01:39:52
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "mc_osm_group_info", autoResultMap = true)
@Schema(description = "群组信息表")
public class GroupInfo extends BaseEntity {

    /** ID */
    @TableId(type = IdType.INPUT)
    @Schema(description = "ID")
    private Long id;
    /** 群组编码 */
    @Schema(description = "群组编码")
    private String groupCode;
    /** 群组名称 */
    @Schema(description = "群组名称")
    private String groupName;
    /** 群组类型：0-动态过滤，1-岗位定义 */
    @Schema(description = "群组类型：0-动态过滤，1-岗位定义")
    private GroupInfoGroupType groupType;
    /** 群组描述 */
    @Schema(description = "群组描述")
    private String description;
    /** 组成方式：0-动态过滤，1-固定人员 */
    @Schema(description = "组成方式：0-动态过滤，1-固定人员")
    private GroupInfoFormula formula;
    /** 是否异步加载：0-否，1-是 */
    @Schema(description = "是否异步加载：0-否，1-是")
    private GroupInfoAsync async;

}
